package org.example.projectdemo.repository;

import org.example.projectdemo.model.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.Optional;

/**
 * ClassName: UserRepository
 * Package: org.example.projectdemo.repository
 * Description:
 *
 * @Author ZY
 * @Create 23:16
 * @Version 1.0
 */
@Repository
public interface UserRepository extends JpaRepository<User,Long> {
    /**
     * 根据用户名查找用户
     *
     * @param username 用户名
     * @return 包含用户的Optional对象，如果找不到则返回Optional.empty()
     */
    Optional<User> findByUsername(String username);

    /**
     * 判断用户名是否存在
     *
     * @param username 用户名
     * @return true表示用户名已存在，false表示用户名不存在
     */
    Boolean existsByUsername(String username);
    
    /**
     * 检查指定ID的用户是否存在
     * 
     * @param id 用户ID
     * @return 存在返回true，否则返回false
     */
    boolean existsById(Long id);
}